#ifndef VERIFYCODEWIDGET_H
#define VERIFYCODEWIDGET_H

#include <QWidget>
#include <QRandomGenerator>
#include <QString>
#include <QPainter>
#include <QPen>

#include "model/data.h"

class VerifyCodeWidget : public QWidget
{
    Q_OBJECT
public:
    explicit VerifyCodeWidget(QWidget *parent = nullptr);

    bool checkVerifyCode(const QString& verifyCode);    // 检验验证码是否匹配
    void refreshVerifyCode();    // 重新生成验证码并显示到界面上

private:
    QString generateVerifyCode();    // 通过这个函数, 生成随机的验证码字符串
    void paintEvent(QPaintEvent* event) override;
    void mousePressEvent(QMouseEvent* event) override;    // 用户点击的时候, 刷新验证码, 并重新显示.

private:
    QRandomGenerator m_randomGenerator;    // 随机数生成器
    QString m_verifyCode = "";    // 保存验证码的值

signals:
};

#endif // VERIFYCODEWIDGET_H
